package org.tea.inventory.model.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.tea.inventory.base.validation.groups.CreateGroup;

import javax.validation.constraints.Positive;
import java.io.Serializable;
import java.util.List;

/**
 * @author hanzy
 * @description 订单
 * @date 2023年04月07日 11:02
 */
@Data
public class OrderDto implements Serializable {

    /**
     * 订单编号
     */
    @ApiModelProperty(value = "订单编号")
    private String orderSeq;
    /**
     * 订单状态 0-待确认 1-确认 2-作废 3-邮寄中 4-完结
     */
    @ApiModelProperty(value = "订单状态 0-商务待确认 1-商务部已确认 2-商务部作废 3-员工已确认 4.员工审核问题件退回")
    private Integer orderType;

    /**
     * 商品id
     */
    @ApiModelProperty(value = "福利id")
    private Long actId;

    /**
     * 商品id
     */
    @ApiModelProperty(value = "商品id")
    private Long skuId;

    /**
     * 商品编号
     */
    @ApiModelProperty(value = "商品编号")
    private String skuSeq;

    /**
     * 商品购买量
     */
    @ApiModelProperty(value = "商品购买量")
    @Positive(message = "商品数量必须大于0", groups = {CreateGroup.class})
    private Integer skuCount;


    @ApiModelProperty(value = "单价")
    private Long price;

    /**
     * 总价
     */
    @ApiModelProperty(value = "总价")
    private Long total;

    /**
     * 购买人
     */
    @ApiModelProperty(value = "购买人")
    private String purchaserId;

    /**
     * 购买人
     */
    @ApiModelProperty(value = "购买人姓名")
    private String purchaserName;
    /**
     * 产品种类：0-积分商品 1-节日礼品
     */
    @ApiModelProperty(value = "产品种类：0-积分商品 1-节日礼品")
    private Integer skuType;
    /**
     * 联系人
     */
    @ApiModelProperty(value = "联系人")
//    @NotBlank(message = "联系人不能为空",groups = {CreateGroup.class})
    private String contact;

    private String deliveryType;
    /**
     * 联系电话
     */
    @ApiModelProperty(value = "联系电话")
//    @NotBlank(message = "联系电话不能为空",groups = {CreateGroup.class})
    private String contactPhone;

    /**
     * 快递地址/邮箱
     */
    @ApiModelProperty(value = "快递地址")
    private String contactAddr;

    private List<String> addressArr;

    private String addressStr;

    private String street;

    @ApiModelProperty(value = "邮箱")
    private String contactEmail;

    /**
     * 凭证
     */
    @ApiModelProperty(value = "凭证")
    private String voucher;

    @ApiModelProperty(value = "领取地点")
    private String reclaimAddr;


}
